#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author Jmz

x = ['jmz','egon','vivian']

y = ['jmz','egon','vivian']

if x == y:
    print("x 与 y 的数据是相等的")

if x is y:
    print("x 与 y 的内存地址指向的是同一个地方")

print(id(x))
print(id(y))
# x，y 的内存地址是不一样的，但是数据确实相同的


x = 'jmz'
# 原理： 申请一个内存空间 用于保存'jmz' 数据，再申请一个名称空间用来保存变量名和数据的内存地址
y = 'jmz'

if x is y:
    print('x 与 y的内存地址是一样的')

# 造一个数据 赋值给 变量，应该每造一个数据就应该是另一个内存地址了，为什么上面的内存地址是一样的？
# 原因： python 内部机制的优化，如果重复造相同的小而短的数据，python 会自动指向同一个内存地址